u`
Ep.169uconstruct02.csv

p.168iRXgN^̈ƃI[o[[hFČfځ{j

ERXgN^\bḧȂ̂ŁAp[^Xgwł
@F public Monster(int h, int m) { hp = h; mp = m; }
EnewɂČĂяoɁA̒lw肷
@F Monster rimuru = new Monster(100, 500); //RXgN^HPMPnďlɂĂ炤
Ep[^Xgw肵RXgN^Ǝw肵ȂRXgN^݂ł
E܂AĂяoɂċʂł̂ł΁Ap[^Xgw肵RXgN^𕡐Lqł
ÊƂI[o[[hƂi\bhŜɑΉj
Ep[^()̐A^Aɂċʂ\ł΂łw\
F 
  public Monster()                { hp = 10; mp = 20; } //RXgN^@
@public Monster(int h)           { hp = h;  mp = 20; } //RXgN^A
@public Monster(int h, int m)    { hp = h;  mp = m;  } //RXgN^B
  public Monster(string s)        { name = s;         } //RXgN^C
  public Monster(string s, int h) { name = s; hp = h; } //RXgN^D
  public Monster(int m, string s) { name = s; mp = m; } //RXgN^E
@F
  Monster veldra = new Monster(); //RXgN^@Ă
  Monster slalin = new Monster(100); //RXgN^AĂ
  Monster rimuru = new Monster(100, 500); //RXgN^BĂ
  Monster hoimin = new Monster("ق݂"); //RXgN^CĂ
  Monster behoim = new Monster("ׂق݂", 100); //RXgN^DĂ
  Monster behoma = new Monster(500, "ׂق"); //RXgN^EĂ

p.169 construct02.cs

// p.169 construct02.cs
using System;
class MyClass {
    private string name;    //CX^XϐFO
    private int age;        //VFN
    private string address; //VFZ
    public void Show() { //CX^Xϐ̒l\郁\bh
        string toshi; //N\p
        if (age == -1) //Nu-1vȂΕs̈Ӗ
            toshi = "s";
        else //łȂ
            toshi = age.ToString(); //N𕶎
        Console.WriteLine(":{0} Z:{1} N:{2}", name, address, toshi); //SĂ̒l̂܂ܕ\(N-1̎̂݉H)
    }
    public MyClass(string str) { //RXgN^()
        name = str; //͈
        address = "s"; //Z͋Kl
        age = -1; //N͋Kl
    }
    public MyClass(int x) { //RXgN^(N)
        age = x; //N͈
        name = "s"; //͋Kl
        address = "s"; //Z͋Kl
    }
    public MyClass(string str1, string str2, int x) { //RXgN^(,Z,N)
        name = str1; //͈
        address = str2; //Z
        age = x; //N
    }
}
class construct01 {
    public static void Main() {
        MyClass mc1 = new MyClass(18); //RXgN^(N)
        MyClass mc2 = new MyClass("HNF"); //RXgN^()
        MyClass mc3 = new MyClass("cY", "s", 32); //RXgN^(,Z,N)
        mc1.Show(); //1Ԗڂ̃CX^X̕ϐl\
        mc2.Show(); //2Ԗڂ̃CX^X̕ϐl\
        mc3.Show(); //3Ԗڂ̃CX^X̕ϐl\
    }
}

p.169iVOj`j

E\bhiRXgN^܂ށǰĂяop^[
E\bh(RXgN^̏ꍇ̓NX)ƃp[^Xgɂ̌^̕тAVOj`ɂȂ
@F MyClass(string str1, string str2, int x)  MyClass(string, string, int)
EVOj`\bhiRXgN^j͓ɂ͒`łȂB
EȂA߂l^̓VOj`Ɋ܂܂Ȃ̂ŁA\bh̏ꍇɒӁB

p.170îRXgN^ƈ̂ȂRXgN^j

ENXɃRXgN^܂LqȂƁuNX(){}vƂgȂ̂ȂRXgN^쐬
ÊRXgN^PłLqƁA̓͋NȂ̂ŁAKvȂΎOō쐬邱
EĂяoɈ܂w肵ȂɁAĂяoRXgN^ftHgRXgN^ƂB
E{Iɂ́ûȂRXgN^vuftHgRXgN^vAq̉ϒ(p.201)ȂǂpƁAŵftHgRXgN^Lq\B

p.171 fXgN^

EvOŐꂽIuWFNǵA{IɊɏ
EC#VXe̎cʂmāApȂIuWFNg폜@\AK[x[WERNVƂBA̎s˗AsvO琧䂷邱Ƃ͕sB
EāuIuWFNg̐ɌĂ΂vRXgN^ƋtɁuIuWFNg̏ɌĂ΂vfXgN^As͐łȂAmɎsłA
@ āARXgN^sƂ̌nɗp邱ƂiFDBؒfj
ẼIuWFNgjꂽꍇAfXgN^̎s͕sB
EF ~NX() { e; }
ERXgN^Ɠlɖ߂l͂ȂAp[^XgȂiāAI[o[[hȂj

p.172 destruct01.cs

//p.172 destruct01.cs
using System;
class DestructTest {
    int x; //CX^Xϐ
    // fXgN^
    ~DestructTest() {
        Console.WriteLine("fXgN^Ă΂܂");
        Console.WriteLine("x{0}ł", x);
    }
    // tRXgN^
    public DestructTest(int n) {
        Console.WriteLine("RXgN^Ă΂܂");
        x = n; 
        Console.WriteLine("x{0}܂", n);
        
    }
}
class destruct {
    public static void Main() {
        DestructTest dt1 = new DestructTest(1);
        Console.WriteLine("dt1");
        DestructTest dt2 = new DestructTest(2);
        Console.WriteLine("dt2");
        DestructTest dt3 = new DestructTest(3);
        Console.WriteLine("dt3");
    }
}

AWKFp.172 destruct01.cs

Estring^̃CX^Xϐ`āAR\[͂AIuWFNgɃRXgN^()l𓾂悤
EfXgN^ł͂̕\悤
EȂA3̃IuWFNg͂ǂQƕϐdt1p邱ƁiĂfXgN^3񓮍삷j

쐬

//AWp.172 destruct01.cs
using System;
class DestructTest {
    string x; //CX^Xϐ
    // fXgN^
    ~DestructTest() {
        Console.WriteLine(x);
    }
    // tRXgN^
    public DestructTest(string n) {
        x = n; 
    }
}
class destruct {
    public static void Main() {
        Console.Write("dt1̒fF");
        DestructTest dt1 = new DestructTest(Console.ReadLine());
        Console.Write("dt2̒fF");
        dt1 = new DestructTest(Console.ReadLine()); //̎_1߂̃IuWFNg͗ps\ɂȂ邪
        Console.Write("dt3̒fF");
        dt1 = new DestructTest(Console.ReadLine()); //̎_2߂̃IuWFNgps\ɂȂ邪
    } //I_3̃fXgN^삷
}

p.174 this

EgwQƂ^L[[hthis
ENXŎgwQƂAɗpꍇɗpł

p.174 this01.cs

//p.174 this01.cs
using System;
class MyClass {
    public MyClass m1, m2; //̃NX^ƂQƕϐ(CX^Xϐ)
    public void Test() { //CX^X\bh
        m2 = this; //gwQƂ
    }
    public MyClass() { //RXgN^
        m1 = this; //gwQƂ
    }
}
class this01 {
    public static void Main() {
        MyClass mc = new MyClass(); //IuWFNg𐶐RXgN^Ă(m1this)
        mc.Test(); //m2this
        if (mc.m1 == mc.m2) //CX^Xϐǂr(ǂthisĂ̂œ)
            Console.WriteLine("m1m2͓ł");
        if (mc == mc.m1) //gƃCX^Xϐm1r(thisĂ̂œ)
            Console.WriteLine("mcm1͓ł");
        if (mc == mc.m2) //gƃCX^Xϐm2r(thisĂ̂œ)
            Console.WriteLine("mcm2͓ł");
    }
}

QlFthis̊p@

Ethisg(IuWFNg)wƂ𗘗pāACX^Xϐ\bḧϐƓɂł
F
class Monster {
  int hp, mp;
  void setHp(int hp) { this.hp = hp; } //uhp = hpv̓G[Ȃ̂łƗǂ
  void setMp(int mp) { this.mp = mp; } //ump = mpv̓G[Ȃ̂łƗǂ
}

p.176 ̃NXgĂ݂

EłɗpĂConsole.WriteAMath.PI͓ȃNX̗p(ÓI\bh/f[^o)
E܂ŗpCX^XϐCX^X\bh̃NX
ÊPArrayListNXŁApɂ́uusing System.Collections;vw肷邱ƁB
EArrayListNX͕KvɉăTCYIɊg傳z񋟂̂ŁAẽ\bhpł
@EftHgRXgN^FŁȀʂAArrayList NX̐VCX^X
@Eadd(object)\bhFvf𖖔Ɋi[(ǂȌ^łOK)
@ECountvpeBFvfԂ(vpeB͓ȃ\bhFp.207Ōq)
@EzƓl[n]Ő擪(擪0Ƃ)nԖڂ̗vf
@EAvfobject^Ȃ̂ŁǍ^ɃLXgėp邱

p.177 arraylist01.cs

//p.177 arraylist01.cs
using System;
using System.Collections;
class arraylist01 {
    public static void Main() {
        bool bEnd = false; //ItOIt
        string strData; //͗p
        double sum = 0.0; //v
        ArrayList al = new ArrayList(); //ACXg𐶐
        while (true) { //[v
            Console.Write("f[^(lȊO͂ŏI)-- ");
            strData = Console.ReadLine();
            if (!Char.IsDigit(strData[0]) && strData[0] != '-') { //擪ł-łȂ
                bEnd = true; //ItOI
            } else { //ϊ\H(`FbNƂĂ͕s\)
                al.Add(double.Parse(strData)); //ϊăACXgɊi[
            }
            if (bEnd) { //ItOIH
                break; //[v𔲂
            }
        }
        for (int i = 0; i < al.Count; i++) { //ACXg̗vfJԂ
            Console.WriteLine("Data[{0}] = {1}", i + 1, al[i]); //ԍi+1Ɨvf[i]̒l\
            sum += (double)al[i]; //vf[i]double^ɖ߂Ă獇vɑ
        }
        int count = al.Count; //ACXg̗vf𓾂
        double avr = sum / count; //vvfŊĕϒl𓾂
        Console.WriteLine("f[^ = {0}", count); //vfƂĕ\
        Console.WriteLine("ϒl = {0}", avr); //vZς̕ϒl\
    }
}

p.180 KP qg

EuCX^Xϐ݂̂NXvƂ̂ŁAspMain\bhNXƂ͕ʂɋLq悤
EuMain\bh炱̃tB[hɐlvƂ̂ŁApublicw肷邱

쐬

// p.180 KP
using System;
class MyInt {
    public int x; //OANZXłCX^Xϐ
}
class ex071 {
    public static void Main() {
        MyInt m = new MyInt(); //IuWFNg𐶐
        m.x = 10; //CX^Xϐɑ
        Console.WriteLine("m.x = {0}", m.x); //CX^Xϐ̒l\
    }
}

p.180 KQ qg

Eint^Ql̘a𓾂郁\bh̖߂l^intɁAdouble^Ql̘a𓾂郁\bh̖߂l^doubleɂƗǂ
ÊQ\bh𓯂Õ\bhiFAddjɂƁAI[o[[hɂȂ
Eu\bhNXvƂ̂ŁAspMain\bhNXƂ͕ʂɋLq悤
EuMain\bh炱̃\bh𗘗pvƂ̂ŁAQ\bhpublicwɂ邱

쐬

// p.180 KQ
using System;
class MyAdd {
    public int add(int i1, int i2) { //OANZXłCX^X\bh@
        return i1 + i2;
    }
    public double add(double i1, double i2) { //@I[o[[hĂCX^X\bhA
        return i1 + i2;
    }
}
class ex072 {
    public static void Main() {
        MyAdd m = new MyAdd(); //IuWFNg𐶐
        Console.WriteLine("1   + 2   = {0}", m.add(1, 2)); //\bh@ĂŖ߂l\
        Console.WriteLine("1.1 + 2.2 = {0}", m.add(1.1, 2.2)); //\bhAĂŖ߂l\
    }
}

oFp.180 KQ

\Fp.181u\bh̍ċAĂяovĊJ܂

